Systems and methods for integration of carrier-based sms and voice functionality within api platform

ABSTRACT

Systems and methods for integration of carrier-based service functionality with API-based functionality emanating from a single service provider or service network.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/152,118, filed on May 11, 2016, which claims the benefit of U.S.Provisional Patent Application No. 62/159,752, filed on May 11, 2015.The contents of both applications are incorporated herein by referencein their entirety.

TECHNICAL FIELD

This disclosure relates to the field of telecommunications, and moreparticularly, to integration of carrier-based telecommunications servicefunctionality with API-based functionality emanating from a singleservice provider or service network.

BACKGROUND

The use of Application Programming Interfaces (APIs) to implementtelecommunications services and functionality in software applicationdevelopment has become more prevalent in recent years. However, presentsystems provide such functionality in fragmented fashion, typicallyinvolving several entities or service providers. For example,application programmers may rely on an API platform offered by anotherentity, which, in turn, relies on one or more additional entities forvarious services or functionality, particularly at thetelecommunications carrier or inter-carrier level. This fragmentedframework introduces numerous inefficiencies and quality of service(QoS) issues, particularly for SMS and voice functionality. Furthermore,this framework also introduces many challenges affecting revenues,service delivery and fulfillment costs, and other operational costs. Aparticular challenge exists for telecommunications API platforms withrespect to direct network access or ability to directly obtain dataassociated with communications sessions to more efficiently establish orotherwise provide for these sessions through the API. Existingtelecommunications API platforms do not have direct access at theinter-carrier level for SMS/MMS services and often do not have theappropriate data at the most efficient points of a communicationssession or have to inefficiently access several sources, services orpartners to obtain the data or services to adequately treat thecommunications session. In some instances, API platforms may not evenhave viable access to certain data and services that might be limited tocarrier or inter-carrier network service providers.

The invention(s) described herein is/are directed, but not limited, toaddressing these and other issues associated with existing systems andmethods. Other aspects and benefits not related to these issues arecontemplated as well.

SUMMARY

Systems and associated methods are provided for integrated API platformand telecommunication session functionality within an inter-carriernetwork. According to a particular and non-limiting aspect, the systemcomprises an API server within the inter-carrier network, where the APIserver allows an application or web client access to voice, SMS and MMSservice functionality provided by the inter-carrier network. The systemfurther comprises a telecommunications session server within theinter-carrier network and in communication with the API server and atleast one voice soft switch element, where the telecommunicationssession server provides telecommunication voice session functionality tothe application or web client directly from the inter-carrier network aspart of the PSTN. The system additionally comprises an SMS/MMS gatewaywithin the inter-carrier network and in communication with the APIserver, where the SMS/MMS gateway provides SMS/MMS functionality to theapplication or web client directly from the inter-carrier network aspart of the SMS/MMS network.

According to another particular and non-limiting aspect, a method forproviding SMS/MMS functionality direct from an inter-carrier network viaan API platform comprises the steps of providing an SMS/MMS API serverwithin the inter-carrier network; receiving, at the API server withinthe inter-carrier network, from an application or web client utilizingthe API, an SMS or MMS communication associated with a DID number orshort code that is associated with an addressable device or networkelement; sending the SMS or MMS communication to an SMS/MMS gatewayserver within the inter-carrier network; and sending the SMS or MMScommunication, from the SMS/MMS gateway server, to a network pointwithin the SMS/MMS network having access to the addressable device ornetwork element associated with a DID number or short code.

According to yet another particular and non-limiting aspect, the DIDnumbers or short codes are issued by a provider of the inter-carriernetwork.

These and other aspects will become readily apparent from the writtenspecification, drawings, and claims provided herein.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram illustrating an exemplary embodiment of asystem in accordance with one or more aspects described herein.

FIG. 2 is a schematic diagram illustrating an exemplary inter-carriersystem architecture in accordance with one or more aspects describedherein.

FIG. 3 is a schematic diagram of an exemplary computing device capableof supporting and facilitating one or more aspects described herein.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The description that follows describes, illustrates and exemplifies oneor more particular embodiments of the invention(s) in accordance withits principles. This description is not provided to limit theinvention(s) to the embodiments described herein, but rather to explainand teach the principles of the invention(s) in such a way to enable oneof ordinary skill in the art to understand these principles and, withthat understanding, be able to apply them to practice not only theembodiments described herein, but also other embodiments that may cometo mind in accordance with these principles. The scope of theinvention(s) is/are intended to cover all such embodiments that may fallwithin the scope of the appended claims, either literally or under thedoctrine of equivalents.

It should be noted that in the description and drawings, like orsubstantially similar elements may be labeled with the same referencenumerals. However, sometimes these elements may be labeled withdiffering numbers, such as, for example, in cases where such labelingfacilitates the didactic purpose of the specification. Additionally, thedrawings set forth herein are not necessarily drawn to scale, and insome instances proportions may have been exaggerated to more clearlydepict certain features. Such labeling and drawing practices do notnecessarily implicate an underlying substantive purpose. Furthermore,one or more drawings herein may be of a purely functional schematicnature, or a combination of a functional and structural/hardwareschematic nature, intended to disclose and teach functional aspects ofthe subject matter without necessarily limiting the disclosure to anyspecific structure/hardware. As stated above, the present specificationis intended to be taken as a whole and interpreted in accordance withthe principles of the invention(s) as taught herein and understood toone of ordinary skill in the art.

With respect to the exemplary systems, components and architecturedescribed and illustrated herein, it should also be understood that theinvention(s) may be embodied by, or employed in, numerous configurationsand components, including one or more system, hardware, software, orfirmware configurations or components, or any combination thereof, asunderstood by one of ordinary skill in the art. Accordingly, while thedrawings illustrate exemplary systems including components for one ormore of the embodiments contemplated herein, it should be understoodthat with respect to each embodiment, one or more components may not bepresent or necessary in the system. Furthermore, although one or moresystems and associated servers, gateways, registries or databases may bedescribed, all methods, systems, and articles of manufacture consistentwith known architecture for these components are intended to beencompassed. For example, a processor may be implemented as part of oneor more components as a microprocessor, microcontroller, applicationspecific integrated circuit (ASIC), discrete logic, or a combination ofother type of circuits or logic. Similarly, memories as part of one ormore of these components may be DRAM, SRAM, Flash or any other type ofmemory. Flags, data, databases, tables, and other data structures may beseparately stored and managed, may be incorporated into a single memoryor database, may be distributed, or may be logically and physicallyorganized in many different ways. Software programs, which may bedescribed in terms of one or more code segments, may be parts of asingle program, separate programs, or distributed across severalmemories and processors. The methods and functionality described hereinmay be implemented via hardware, software, and/or firmware, andprocessed by one or more processor-based systems, components or devices.Such methods and functionality may be described as a module or enginewith the understanding that its implementation is not limited to anyparticular hardware, software, firmware, or device configuration, butrather encompassing all implementations/embodiments within the skill ofone of ordinary skill in the art. Systems may be implemented inhardware, software, or a combination of hardware and software in oneprocessing system or distributed across multiple processing systems.Accordingly, the invention(s) should not be construed as limited by theexemplary embodiments described herein or any of the associated didacticschematics.

The systems and associated methods described herein facilitate anintegrated direct access API for voice and SMS/MMS service functionalityby an inter-carrier network, thereby minimizing or eliminating many ofthe aforementioned inefficiencies and other problems with existingplatforms.

An exemplary and non-limiting embodiment of an environment—within whicha system 100 in accordance with one or more principles of theinvention(s) is deployed—is schematically illustrated in FIG. 1. Thesystem 100 is part of a single inter-carrier network 102, which is partof the broader inter-carrier network system 104, and together form the“backbone” network of the packet-based communications infrastructure.The system 100 comprises an API server 106 within the inter-carriernetwork 102, a telecommunications session server 108 within theinter-carrier network 102 and an SMS/MMS gateway 110 within theinter-carrier network 102. The API server 106 is accessible by anapplication or web client via one or more devices 120 to provide accessto voice, SMS and MMS service functionality provided by theinter-carrier network 102. The SMS/MMS gateway 110 within theinter-carrier network 102 is in communication with the API server, wherethe SMS/MMS gateway provides SMS/MMS functionality to the application orweb client via one or more devices 120 directly from the inter-carriernetwork 102 as part of the SMS/MMS network 122. The telecommunicationssession server 108 is in communication with the API server 106 and atleast one voice soft switch element 124, where the telecommunicationssession server 108 provides telecommunication voice sessionfunctionality to the application or web client via one or more devices120 directly from the inter-carrier network as part of the PSTN 126. Thesystem may also include an operations support system (OSS) 128, whichmay comprise one or more servers, to provide one or more BusinessManagement Level (BML), Service Management Level (SML), NetworkManagement Level (NML), or Element Management Level (EML) functions tothe system or network. The OSS 128 may also be part of the inter-carriernetwork separate from but capable of communication with, the system 100.

As can be seen from FIG. 1, the system 100 provides direct API SMS/MMSfunctionality fully integrated into the inter-carrier network 102. Thesystem 100 also provides direct voice functionality from theinter-carrier network 102. This voice and SMS/MMS functionalityintegrated into the single inter-carrier network 102 provides theapplication or web client—via one or more devices 120—direct access toone or more devices/session destinations 140 through one or morewireline networks 142, VoIP networks 144 or mobile networks 146 as partof the PSTN 126 or SMS/MMS network 122.

In an embodiment, the API server 106 also provides access to theapplication programming interface to allow application or programdevelopers to leverage the SMS/MMS/voice functionality directly from aninter-carrier network in their programs or applications, as opposed torelying on third-party APIs or services. In an embodiment, the APIserver 106 provides one or more databases or libraries havingspecifications for routines, data structures, object classes, andvariables. In other embodiments, the API server 106 provides functioncalls for use by the application or web client. In some embodiments, theAPI server 106 may provide functionality services to the application orweb clients via one or more protocols, such as, for example, HTTP, XML,SOAP, REST, and WebRTC. In some embodiments, the API server may alsoprovide functionality and integration services, including access toplatforms or frameworks, to the application or web clients for variousoperating systems, such as, for example, Apple iOS and Android SDK. Insome embodiments, the API server 106 provides access to API plug-ins forvarious functionality. The API server 106 can also assist theapplication or web clients with access to or sharing oftelecommunications data from the inter-carrier network that mayotherwise not be directly available from third-party APIs, which canhelp to integrate and enhance the functionalities of the applications.

The API specification can take many forms, including an InternationalStandard or other Standard, such as, for example, POSIX, WebRTC, HTTP,etc., vendor documentation, such as, for example, the Microsoft WindowsAPI, or the libraries of a programming language, such as, for example,Standard Template Library in C++ or Java API.

According to an aspect of the system, the integration of the API server106 into the inter-carrier network 102 allows the service provider ofthe intercarrier network 102 to directly provide voice and/or textenabled ITU.E164 DID numbers or short codes to the application or webclients, and provide termination and origination of SMS/MMS messages andvoice calls associated with those numbers, in addition to functioningwith numbers provided by a third-party network. Additionally,anonymization of call or text flow can be provided by assigning one ormore temporary numbers to one or both of the devices/identitiesassociated with a telecommunications session.

According to an aspect of the system, the integration of the API server106 into the inter-carrier network 102 allows direct access to data, orother services or functionality through the inter-carrier network, suchas end user and network data associated with DID numbers or short codes,or communications sessions. For example, the inter-carrier network hasaccess to the full SIP signaling detail associated with calls, and canbe used, for example, at a contact center enabled via the API servicefor purposes of end user identity validation or fraud prevention.

Other access to data or functionality may involve, for example, queryingindustry database services, CDR analysis of telecommunications traffic,dynamically pinging or otherwise interacting with the phone number,querying copies of subscription databases, querying live subscriptiondatabases, or accessing previously resolved communications data storedin a system cache to minimize networking and processing resources. Thisdata may be leveraged to provide enhanced telecommunicationfunctionality otherwise not directly available through third-party APIs.

According to an aspect, a method for providing SMS/MMS functionalitydirect from an inter-carrier network via an API platform iscontemplated. The method comprises the steps of providing an SMS/MMS APIserver within the inter-carrier network; receiving, at the API serverwithin the inter-carrier network, from an application or web clientutilizing the API, an SMS or MMS communication associated with a DIDnumber or short code that is associated with an addressable device ornetwork element; sending the SMS or MMS communication to an SMS/MMSgateway server within the inter-carrier network; and sending the SMS orMMS communication, from the SMS/MMS gateway server, to a network pointwithin the SMS/MMS network having access to the addressable device ornetwork element associated with a DID number or short code.

System 100 can be deployed in a variety of ways utilizing a variety ofsystem architectures. By way of example, FIG. 2 illustrates an exemplaryinter-carrier system architecture 200 in accordance with one or moreprinciples described herein. As shown in FIG. 2, HTTP servers 210provide direct API functionality within the inter-carrier framework. Inthis exemplary embodiment, the HTTP servers include one or more webservers 212 providing access to developers 214 for developingapplications utilizing the API. The web servers 212 allow programmers todevelop components and functionality in accordance with the API tosupport SMS/MMS functionality through the application. The HTTP serversalso include API servers 216 providing functionality and service toserver apps 218 or client apps 220. API message processing servers 222process voice call and messaging, such as SMS or MMS, with the serverapps 218 or client apps 220.

Telecommunication session servers 230 provide voice-based servicefunctionality to the server apps or the client apps. Thetelecommunication servers may include one or more of a load analyzerserver 232, a routing policy server 234, SIP servers 236,telecommunication message processing servers 238, IVR servers 240 andsession handling servers 242. The telecommunication message processingservers interface with the API message processing servers 222 forintegrated service through the inter-carrier network and the PSTN 260.The inter-carrier network architecture 200 may also include a DIDservice server 270.

The inter-carrier network architecture 200 may also include anoperational support system 280, which may include, without limitation,one or more of an automated testing server 282, service monitoringserver 284, and an accounting and billing server 286, to providebilling, account management, automated testing, monitoring or otherservices. In this embodiment, a data store 290 is provided to store andmanage data associated with the system.

It should be noted that while the foregoing server functionality isexemplified as embodied in separate servers for ease of description, anyof the foregoing servers/functionality may be deployed in combination orseparately. Further, the servers or functionality described herein maybe deployed as functional software modules and may not necessarily beassociated with one or more physical servers or other hardware.Additionally, the servers or functionality described herein may also bedeployed utilizing other hardware configurations that may notnecessarily be categorized as a server.

In a particular embodiment, it is contemplated that functionalityassociated with one or more aspects of the telecommunication servers 230be based on open source technologies, such as, for example, thoseoffered by Freeswitch®.

FIG. 3 is a block diagram of an exemplary computing device 300 that maybe employed as any of the aforementioned servers, including, withoutlimitation, the API server 106 and the telecommunications session server108. The computing device 300 houses executable software used tofacilitate the systems and methods as described herein. One or moreinstances of the computing device 300 may be utilized to implement any,some, or all of the components interacting with the system 100. Thecomputing device 300 includes a memory 306 that can include a computerreadable medium for implementing the systems and methods as describedherein, and for implementing particular embodiments. The computingdevice 300 also contains executable software, some of which may or maynot be unique to the systems and methods.

In some embodiments, the systems and methods can be implemented insoftware, as an executable program, and can be executed by one or morespecial or general purpose digital computer(s), such as a mainframecomputer, a personal computer (desktop, laptop or otherwise), personaldigital assistant, or other handheld computing device. Therefore, thecomputing device 300 may be representative of any computer in which thesystems and methods reside or partially reside. It should also be notedthat, in some embodiments, the computing device 300 may be running in avirtualization on hardware architecture, such as, for example, throughAmazon® Web Services.

Generally, in terms of hardware architecture as shown in FIG. 3, thecomputing device 300 includes a processor 304, the memory 306, and oneor more input and/or output (I/O) devices 302 (or peripherals) that arecommunicatively coupled via an interface such as one or more buses orother wired or wireless connections, as is known in the art. Theprocessor 304 can be a hardware device for executing software,particularly software stored in the memory 306. Further, the processor304 can interface with a database 314 that can store various amounts andtypes of data. For example, the database can store any of the types ofcommunications data or resolved communications data described herein.The processor 304 can be any custom made or commercially availableprocessor, such as, for example, a Core series or vPro processor made byIntel Corporation, or a Phenom, Athlon or Sempron processor made byAdvanced Micro Devices, Inc. In the case where the computing device 300is a server, the processor 304 may be, for example, a Xeon or Itaniumprocessor from Intel, or an Opteron-series processor from Advanced MicroDevices, Inc. The processor 304 may also represent multiple parallel ordistributed processors working in unison.

The memory 306 can include any one or a combination of volatile memoryelements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM,etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, flashdrive, CDROM, etc.). Further, the memory 306 may incorporate electronic,magnetic, optical, and/or other types of storage media and can have adistributed architecture where various components are situated remotefrom one another, but are still accessed by the processor 304. Theseother components may reside on devices located elsewhere on a network orin a cloud arrangement.

The software in the memory 306 may include one or more separate programsor applications 310. The separate applications 310 comprise orderedlistings of executable instructions for implementing logical functions,such as functions relating to receipt of requests and analysis of data,as discussed herein. In the example of FIG. 2, the software in thememory 306 may include a suitable operating system (O/S) 308. Examplesof some operating systems 308 are Windows operating systems availablefrom Microsoft Corporation, Mac OS X available from Apple Computer,Inc., a Unix operating system from AT&T, or a Unix-derivative such asBSD or Linux. The type of the operating system 308 will depend on thetype of the computing device 300. The operating system 308 can controlthe execution of other computer programs, and can provide scheduling,input-output control, file and data management, memory management, andcommunication control and related services.

If the computing device 300 is an IBM PC compatible computer or thelike, the software in the memory 306 may further include a basic inputoutput system (BIOS). The BIOS is a set of essential software routinesthat initialize and test hardware at startup, start the operating system308, and support the transfer of data among the hardware devices. TheBIOS is stored in ROM so that the BIOS can be executed when thecomputing device 300 is activated.

Steps and/or elements, and/or portions thereof of the invention may beimplemented using a source program, executable program (object code),script, or any other entity comprising a set of instructions to beperformed. Furthermore, the software embodying the invention can bewritten as (a) an object oriented programming language, which hasclasses of data and methods, or (b) a procedural programming language,which has routines, subroutines, and/or functions, for example but notlimited to, C, C++, C#, Pascal, Basic, Fortran, Cobol, Perl, Java, Ada,Lua, and Go. Components and entities as discussed herein may also bewritten in a proprietary language developed to interact with these knownlanguages.

The I/O device(s) 302 may include input devices such as a keyboard, amouse, a scanner, a microphone, a touch screen, a bar code reader, or aninfra-red reader. It may also include output devices such as a printer,a video display, an audio speaker or headphone port or a projector. TheI/O device(s) 302 may also comprise devices that communicate with inputsor outputs, such as a short-range transceiver (RFID, Bluetooth, etc.), atelephonic interface, a cellular communication port, a router, or othertypes of network communication equipment. The I/O devices 302 may beinternal to the computing device 300, or may be external and connectedwirelessly or via connection cable, such as through a universal serialbus port.

When the computing device 300 is in operation, the processor 304 isconfigured to execute software stored within the memory 306, tocommunicate data to and from the memory 306, and to generally controloperations of the computing device 300 pursuant to the software. Theoperating system 308, in whole or in part, may be read by the processor304, buffered within the processor 304, and then executed.

In the context of this document, a “computer-readable medium” may be anymeans that can store, communicate, propagate, or transport data objectsfor use by or in connection with the systems and methods as describedherein. The computer readable medium may be for example, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, device, propagation medium, or any other device with similarfunctionality. More specific examples (a non-exhaustive list) of thecomputer-readable medium would include the following: an electricalconnection (electronic) having one or more wires, a random access memory(RAM) (electronic), a read-only memory (ROM) (electronic), an erasableprogrammable read-only memory (EPROM, EEPROM, or Flash memory)(electronic), an optical fiber (optical), and a portable compact discread-only memory (CDROM) (optical). Note that the computer-readablemedium could even be paper or another suitable medium upon which theprogram is printed, as the program can be electronically captured, via,for instance, optical scanning of the paper or other medium, thencompiled, interpreted or otherwise processed in a suitable manner ifnecessary, and stored in a computer memory. The systems and methods canbe embodied in any type of computer-readable medium for use by or inconnection with an instruction execution system or apparatus, such as acomputer.

For purposes of connecting to other computing devices, the computingdevice 300 is equipped with network communication equipment andcircuitry, including a communication module 312. In embodiments, thenetwork communication equipment includes a network card such as anEthernet card, or a wireless connection card. In a preferred networkenvironment, each of the plurality of computing devices 300 on thenetwork is configured to use the Internet protocol suite (TCP/IP) tocommunicate with one another. It will be understood, however, that avariety of network protocols could also be employed, such as IEEE 802.11Wi-Fi, address resolution protocol ARP, spanning-tree protocol STP, orfiber-distributed data interface FDDI. It will also be understood thatwhile a preferred embodiment of the invention is for each computingdevice 300 to have a broadband or wireless connection to the Internet(such as DSL, Cable, Wireless, T-1, T-3, OC3 or satellite, etc.), theprinciples of the invention are also practicable with a dialupconnection through a standard modem or other connection means. Wirelessnetwork connections are also contemplated, such as wireless Ethernet,satellite, infrared, radio frequency, Bluetooth, near fieldcommunication, and cellular networks.

While one or more specific embodiments have been illustrated anddescribed in connection with the invention(s), it is understood that theinvention(s) should not be limited to any single embodiment, but ratherconstrued in breadth and scope in accordance with recitation of theappended claims.

What is claimed is:
 1. A system for integrated API platform andtelecommunication session functionality within an inter-carrier network,the system comprising: an API server within the inter-carrier network,the API server allowing an application or web client access to voice andSMS/MMS service functionality provided by the inter-carrier network; atelecommunications session server within the inter-carrier network andin communication with the API server and at least one voice edgeelement, the telecommunications session server providingtelecommunication voice session functionality to the application or webclient directly from the inter-carrier network as part of the PSTN; andan SMS/MMS gateway within the inter-carrier network and in communicationwith the API server, the SMS/MMS gateway providing SMS/MMS functionalityto the application or web client directly from the inter-carrier networkas part of the SMS/MMS network.
 2. The system of claim 1, furthercomprising an operations support systems (OSS) server in communicationwith the API server, the telecommunications session server, the SMS/MMSgateway and softswitch voice elements for network management of theinter-carrier network.
 3. The system of claim 1, wherein the API serverissues a DID number or short code upon request by the application or webclient.
 4. The system of claim 1, wherein a DID number or short codeassociated with the application or web client is provided by a thirdparty network.
 5. The system of claim 1, further comprising an APIdatabase associated with the API server having stored therein at leastone library comprising a plurality of functional calls associated withvoice and SMS/MMS functionality.
 6. A method for providing SMS/MMSfunctionality direct from an inter-carrier network via an API platform,the method comprising the steps of: providing an SMS/MMS API serverwithin the inter-carrier network; receiving, at the API server withinthe inter-carrier network, from an application or web client utilizingthe API, an SMS or MMS communication associated with a DID number orshort code that is associated with an addressable device or networkelement; sending the SMS or MMS communication to an SMS/MMS gatewayserver within the inter-carrier network; and sending the SMS or MMScommunication, from the SMS/MMS gateway server, to a network pointwithin the SMS/MMS network having access to the addressable device ornetwork element associated with a DID number or short code.
 7. Themethod of claim 6, wherein the DID number or short code was issued bythe API server within the inter-carrier network.
 8. The method of claim6, wherein the DID number or short code was issued by a third partynetwork.
 9. A system for integrated API platform and SMS/MMSfunctionality within an inter-carrier network, the system comprising: anAPI server within the inter-carrier network, the API server allowing anapplication or web client access to SMS/MMS service functionalityprovided by the inter-carrier network; and an SMS/MMS gateway within theinter-carrier network and in communication with the API server, theSMS/MMS gateway providing SMS/MMS functionality to the application orweb client directly from the inter-carrier network as part of theSMS/MMS network.
 10. The system of claim 9, further comprising anoperations support systems (OSS) server in communication with the APIserver, telecommunications server, SMS/MMS gateway and softswitchelements for network management of the inter-carrier network.
 11. Thesystem of claim 9, wherein the API server issues a DID number or shortcode upon request by the application or web client.
 12. The system ofclaim 9, further comprising an API database associated with the APIserver having stored therein at least one library comprising a pluralityof functional calls associated with voice and SMS/MMS functionality.